package com.ffcs.crmd.tsp.task.config;

/**
 * 
 * 功能说明:客户端配置
 *
 * @author ZHONGFUHUA
 * 
 * @since 1.0.0-SNAPSHOT
 *
 */
public class TaskConfig {
    
    /**
     * 客户端标识
     */
    private String identity;
    
    /**
     * 任务处理线程池
     */
    private int    jobProcessThread                     = 20;
    
    /**
     * 任务处理批量数据线程池
     */
    private int    jobProcessBusinessThread             = 20;
    
    /**
     * 重试返回完成任务间隔时间
     */
    private long   retryReturnCompleteJobDetailInterval = 30 * 1000;
    
    /**
     * 定时打印线程池信息间隔时间
     */
    private long   printThreadPoolInfoInterval          = 30 * 1000;
    
    public TaskConfig() {
        
    }
    
    public TaskConfig(String identity) {
        this.identity = identity;
    }
    
    /**
     * 功能说明: 获取重试返回完成任务间隔时间
     *
     * @return retryReturnCompleteJobDetailInterval 重试返回完成任务间隔时间
     */
    public long getRetryReturnCompleteJobDetailInterval() {
        return retryReturnCompleteJobDetailInterval;
    }
    
    /**
     * 功能说明: 设置重试返回完成任务间隔时间
     *
     * @param retryReturnCompleteJobDetailInterval 重试返回完成任务间隔时间 
     */
    public void setRetryReturnCompleteJobDetailInterval(long retryReturnCompleteJobDetailInterval) {
        if (retryReturnCompleteJobDetailInterval > 0) {
            this.retryReturnCompleteJobDetailInterval = retryReturnCompleteJobDetailInterval;
        }
    }
    
    /**
     * 功能说明: 获取定时打印线程池信息间隔时间
     *
     * @return printThreadPoolInfoInterval 定时打印线程池信息间隔时间
     */
    public long getPrintThreadPoolInfoInterval() {
        return printThreadPoolInfoInterval;
    }
    
    /**
     * 功能说明: 设置定时打印线程池信息间隔时间
     *
     * @param printThreadPoolInfoInterval 定时打印线程池信息间隔时间 
     */
    public void setPrintThreadPoolInfoInterval(long printThreadPoolInfoInterval) {
        if (printThreadPoolInfoInterval > 0) {
            this.printThreadPoolInfoInterval = printThreadPoolInfoInterval;
        }
    }
    
    /**
     * 功能说明: 获取任务处理线程池
     *
     * @return jobProcessThread 任务处理线程池
     */
    public int getJobProcessThread() {
        return jobProcessThread;
    }
    
    /**
     * 功能说明: 设置任务处理线程池
     *
     * @param jobProcessThread 任务处理线程池 
     */
    public void setJobProcessThread(int jobProcessThread) {
        if (jobProcessThread > 0) {
            this.jobProcessThread = jobProcessThread;
        }
    }
    
    /**
     * 功能说明: 获取任务处理批量数据线程池
     *
     * @return jobProcessBusinessThread 任务处理批量数据线程池
     */
    public int getJobProcessBusinessThread() {
        return jobProcessBusinessThread;
    }
    
    /**
     * 功能说明: 设置任务处理批量数据线程池
     *
     * @param jobProcessBusinessThread 任务处理批量数据线程池 
     */
    public void setJobProcessBusinessThread(int jobProcessBusinessThread) {
        if (jobProcessBusinessThread > 0) {
            this.jobProcessBusinessThread = jobProcessBusinessThread;
        }
    }
    
    /**
     * 功能说明: 获取客户端标识
     *
     * @return identity 客户端标识
     */
    public String getIdentity() {
        return identity;
    }
    
    /**
     * 功能说明: 设置客户端标识
     *
     * @param identity 客户端标识 
     */
    public void setIdentity(String identity) {
        this.identity = identity;
    }
    
}
